Computer programs for conducting mathematical computation are one of the earliest arts in the computer science. Every university and research institution has at least one computing center and some universities may have both a school-level computer center and many departmental computer centers. Before the advent of the Internet, computing programs for conducting mathematical computation are generally not user-friendly in part because how the computer technology evolved.
Despite the popularity of computing centers in the world, access to computing centers is often limited. Corporation computing centers are open only to their own employees for business use; school computing centers are open only to their students and faculty members; and governmental computer centers are not for the general public. Those who are unaffiliated with any school, research institute or governmental agency probably do not have access to any computing center.
Every person may from time to time have a need to do mathematical computation from simple tasks such as converting two different units, calculating interest charge on a loan, estimating mailing or shipping costs, to more complicated tasks such as optimizing resources for an organization and simulating a physical system. In conducting any computation, a person must know computing methods including the mathematical equations and all necessary constants. In addition, the person needs a computing instrument such as a computer or calculator. It is inconvenient in most of the cases.
The people who frequently need to conduct computation may buy computer programs. However, such programs are expensive and are not the best choice for infrequent users. Therefore, it would be desirable to construct an online computing center which can be freely accessed anywhere in the world. An online computing system would require two things: a search capacity for finding well-defined computing programs and a reliable web interface between the computing server and the remote users.
Limited online computing tools have been available decades ago. Examples of such tools include online calculators which may be found on some web sites. Such tools are not helpful to the users who do not know their relevant mathematical equations and necessary constants. Other computing tools such as computing web forms for computing monthly installation payments may be found on some web sites. However, those tools are not intended as a comprehensive and convenient tool for the general public. Besides, the computing tools are scattered on a large number of websites. When a person wants to compute some quantity, he would not know where to find it.
Throughout the development of the computing art, computing programs are implemented on desktop computers which may be delivered in local network systems. Historically, the programs have been developed to meet all computation needs for a company or university. A vast majority of the existing computing programs are developed in Fortran, Pascal, C and BASIC. Many such programs require unique interfaces which are specifically designed for them. Computing programs for statistical analysis and computation chemistry require unique and inconvenient user interfaces. Many advanced computing programs have been delivered through web protocol, but their interfaces are designed and implemented on a per-application-base. There is little difficulty to construct a web interface for a specific computing program. Generally, each interface must be programmed line by line. Whenever something is changed, the interface must be changed. No prior art has taught any method of using a database application to implement a large number of search-able computing programs and use a unified web interface to deliver them to end users through the Internet.
It is desirable to build an online computing center which can handle millions to billions of computing methods. Such a comprehensive computing system can be a useful tool for studying, teaching and learning, daily casual use, system design, engineering computation, personal financing management, professional services, and business applications. The potential needs are unlimited. However, it would be burdensome to implement all potentially useful computing programs by an Internet vendor. Therefore, it is desirable that the computing system should allow remote users to add “computing programs” which are accessible to everyone else.
From the above discussion, there is a need for finding a new method of packing a large number of computing programs together with only a single user interface; there is a need for providing a mechanism for users to search for and retrieve a computing program from a large number of available programs; there is a need for using an efficient schema for packing and indexing computing programs together; there is a need for finding a method of allowing users to add computing programs to be made available for subsequent use.